Java小知识点学习--------数组和位运算小知识点
位运算符:
>>>无符号右移运算符,无符号右移的规则和右移的规则同样,仅仅是在填充时,无论原来是正数还是负数都用0来补充。
数组:
arr1=arr2; 此时两个数组变量都会同一时候指向同样的数组,即arr2所指向的数组,假设arr2所指向的数组发生变化,则arr1和arr2都变化。
使用Arrays.sort进行排序(使用的是快排)
幻方矩阵:(直接给实例)
public class magic { /** * 使用多维数组打印一个n阶幻方矩阵 * 矩阵的每行每列和对角线上的数据元素之和相等 * n取奇数(由于对角线的和与行和列的和相等) */ public void mag(int n,int a[][]) //传递阶数和数组 { int i = 0, j, k; j = n / 2; for (k = 1; k <= n * n; k++) { a[i][j] = k; // System.out.print("a["+i+"]["+j+"]="+a[i][j]+" "); if (k % n == 0) { i = (i + 1) % n; } else { i = (i - 1 + n) % n; j = (j + 1) % n; } } } public static void main(String[] args) { int n=3; int a[][] = new int[n][n]; new magic().mag(n, a); // System.out.println(); for (int i = 0; i < n; i++) { for (int j = 0; j <n ; j++) { System.out.print(a[i][j]+"\t"); } System.out.println(); } } }实例结果:
8 1 6
3 5 7
4 9 2